package com.itjiange;

/**
 * 制作过程
 *
 * @author ItJianGe
 * @data 2024/8/14 10:23
 */
public abstract class WorkProcess {

    public void preparationProcess () {

        // 1. 烧开水
        boilWater();

        // 2. 制作饮品（定制）
        makeDrink();

        // 3. 把饮品倒入杯子中
        putInCup();

        // 4. 加料（定制）
        putOther();

    }

    /**
     * 4. 加入小料
     */
    public abstract void putOther();

    /**
     * 3. 把饮品倒入杯子中
     */
    private void putInCup() {
        System.out.println("【模板】把饮品倒入杯子中");
    }

    /**
     * 2. 制作饮品
     */
    public abstract void makeDrink();

    /**
     * 1. 先把水烧开
     */
    private void boilWater() {
        System.out.println("【模板】先把水烧开");
    }
}
